Method and apparatus for optimizing management of spare components for network infrastructure

ABSTRACT

Method and apparatus for optimizing spare component management for a network having a plurality of nodes is described. In one example, availability parameters associated with an inventory of spare components are obtained. A plurality of management configurations are determined in response to the availability parameters. Each management configuration includes at least one warehouse node selected from the plurality of nodes in the network and a quantity of spare components in the inventory that are to be stored at the at least one warehouse node.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to information systems and, more particularly, to optimizing management of spare components for network infrastructure, which includes determining number of spares and the correct geographical area to minimize impact of availability to the network.

2. Description of the Related Art

Presently, spare components for elements of network infrastructure are maintained at each location or node of the network. For example, spare components for communication equipment may be stored at each office, service location, warehouse, and central office, of a communications network. In addition, the number of spare components to be stored at a given location for a given network element is based on a recommendation of the equipment vendor. While some algorithms have been developed to determine the number of required spare components in accordance with the reliability of the equipment, such solutions typically address only the number of spares that should be stored at a location given the quantities of the network elements in service. Such “sparing solutions” do not account for repair times, distance traveled, minimum downtimes, capital expenditures, or customer satisfaction.

SUMMARY OF THE INVENTION

These and other deficiencies of the prior art are addressed by the present invention of a method, apparatus, and computer readable medium for optimizing spare component management for a network having a plurality of nodes. In one embodiment of the invention, availability parameters associated with an inventory of spare components are also obtained. A plurality of management configurations are determined in response to the availability parameters. Each management configuration includes at least one warehouse node selected from the plurality of nodes in the network and a quantity of spare components in the inventory that are to be stored at the at least one warehouse node.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the present invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments thereof which are illustrated in the appended drawings.

It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.

FIG. 1 is a block diagram depicting an exemplary embodiment of a network;

FIG. 2 is a data flow diagram depicting an exemplary embodiment of a process for optimizing spare component management for a network;

FIG. 3 is a flow diagram depicting an exemplary embodiment of a warehouse and location optimization process; and

FIG. 4 is a block diagram depicting an exemplary embodiment of a computer suitable for implementing processes and methods described herein.

DETAILED DESCRIPTION

The inventors have determined that as the communications industry becomes more competitive and capital becomes more constrained, it becomes imperative to optimize the reliability of the network by maintaining an accurate sparing solution. As such, a method and apparatus for optimizing spare component management for a network having a plurality of nodes is described. One or more aspects of the invention are related to optimizing spare component management within a telecommunications network. Those skilled in the art will appreciate, however, that the present invention may be employed to optimize spare component management in other types of networks having nodes dispersed within a particular region and elements requiring spare components.

FIG. 1 is a block diagram depicting an exemplary embodiment of a network 100. The network 100 comprises a plurality of nodes 102, illustratively, nodes 102 ₁, through 102 ₆. Each of the nodes 102 is disposed at a different location within a region 101. In this exemplary embodiment, nodes 102 ₁ through 102 ₄ each comprise an in-service network portion 104 having in-service network components (“network components”). Nodes 102 ₃, 102 ₅, and 102 ₆ each comprise a warehouse portion 106 for storing spare network components (“spare components”). In this embodiment, the node 102 ₃ includes both an in-service network portion 104 and a warehouse portion 106. In general, the network 100 may comprise any number nodes that have an in-service network portion, a warehouse portion, or both. For example, in a telecommunications network, several of the nodes may be central offices (COs) having telephone switching equipment and others of the nodes may be warehouses for storing spare components. In addition, some of the COs may be capable of storing spare components.

The nodes 102 are logistically connected to one another via pathways 108. For example, spare components residing at the node 102 ₃ may be moved to the node 102 ₁ using the pathways 108. In this exemplary embodiment, not all of the nodes 102 are directly connected to one another via one of the pathways 108. As such, the distance between pairs of the nodes 102, and hence the time it takes to travel between pairs of the nodes 102, depends on the configuration of the pathways 108. In general, a given one of the nodes 102 may be logistically connected to one or more others of the nodes 102 via one or more of the pathways 108.

As used herein, the term “warehouse node” refers to any node of the network 100 having a warehouse portion (i.e., capable of storing spare components). The number of warehouse nodes in the network 100 is referred to herein as the “warehouse configuration”. For example, a given network may employ a distributed warehouse configuration in which each of the warehouse nodes in the network stores spare components. In another example, a given network may employ a centralized warehouse configuration in which one or more, but not all, of the warehouse nodes store spare components. In general, a warehouse configuration includes at least one warehouse node. In this exemplary embodiment, a centralized warehouse configuration is employed, where three of the nodes 102 are warehouse nodes.

Specifically, in this exemplary embodiment, nodes 102 ₃, 102 ₅, and 102 ₆ are warehouse nodes. Nodes 102 ₃, 102 ₅, and 102 ₆ each store a particular quantity of spare components for the network 100, where the total quantity of spare components comprises the inventory. The term “quantity”, as used herein, is meant to encompass any number of spare components including zero spare components. For purposes of clarity by example, the present example refers to “spare components” without regard to class, category, or type. In reality, however, a typical network may be defined by a multiplicity of different types of network components requiring spares, thus yielding a multiplicity of different types of spare components. As such, a warehouse node may store different quantities of spare components depending on the spare component types. Although the present example refers to a quantity of spare components without regard to different types of spare components, it is to be understood that a given inventory for a network may include multiple types of spare components of different quantities, as will be described below with respect to the warehouse spare and location optimization process 300.

A specific implementation of a warehouse configuration given a particular network of nodes, along with specific quantities of spare components to be stored at the selected warehouse nodes, is referred to herein as a “spare component management configuration” or simply a “management configuration”. That is, a management configuration comprises at least one warehouse node selected from the nodes of the network and a quantity of spare components in the inventory of the network to be stored at the at least one warehouse node. The optimal determination of a management configuration for a given network is discussed below with respect to the optimization process 200.

FIG. 2 is a data flow diagram depicting an exemplary embodiment of a process 200 for optimizing spare component management for a network. Inventory data (“inventory 204”), operator constraint data (“operator constraints 206”), and availability parameters 210 are stored in a database 202. The inventory 204 may include the quantity of spare components for the network and the current locations within the network that are storing the spare components. The availability parameters 210 include data that affects the availability of the spare components within the network. For example, the availability parameters 210 may include failure rates, minimum repair times, restocking times, stockout probabilities, delivery times, and like type availability parameters known in the art. The availability parameters 210 may include different data for each type of spare component that is to be warehoused within the network. The operator constraints 206 include data provided the network operator that represents minimum requirements for the warehousing solution. For example, the operator constraints 206 may include critical repair times related to service level agreements (SLAs) and target stockout probabilities.

The inventory 204, the operator constraints 206, and the availability parameters 210 are provided to a warehouse spare and location optimization process 300 as parametric input. The warehouse spare and location optimization process 300 is described below with respect to FIG. 3. The warehouse spare and location optimization process 300 produces results 208. The results 208 may include, for example, minimum downtimes and the number of critical repair time violations for various management configurations for various warehouse configurations. That is, the results 208 may include data for multiple warehouse configurations (e.g., distributed, centralized with a single warehouse node, centralized with two warehouse nodes, etc). For each warehouse configuration, the results 208 may include data for multiple management configurations. The management configurations may include the quantities of spare components to be stored at the warehouse nodes of the network, as well as minimum downtimes, and critical repair time violations. The management configuration with the least minimum downtime and least violations of critical repair times may then be selected as the optimal management configuration for each warehouse configuration. In turn, the optimal warehouse configuration may be selected based on the optimal management configurations.

From the results 208, an optimal warehousing solution may be implemented within the network 100. After implementation of the warehousing solution, the parameters input to the warehouse spare and location optimization process 300 may change. For example, several of the availability parameters 210 may change due to the optimization provided by the selected warehousing solution. Thus, in one embodiment of the invention, the inventory 204, the operator constraints 206, and the availability parameters 210 stored within the database 202 may be dynamically updated during operation of the network after implementation of the selected warehousing solution. The process 200 may then be repeated for additional optimization of the warehousing solution.

FIG. 3 is a flow diagram depicting an exemplary embodiment of a warehouse and location optimization process 300. The process 300 begins at step 302, where an inventory is obtained. At step 304, availability parameters are obtained. At step 306, operator constraints are obtained. At step 308, a warehouse configuration is selected. At step 310, management configurations are determined using the inventory, availability parameters, operator constraints, and the selected warehouse configuration. At step 312, a determination is made as to whether additional warehouse configurations are to be selected. If so, the process 300 returns to step 308 and repeats. If not, the process 300 outputs results at step 314. For example, step 310 may be repeated for a distributed warehouse configuration and for a centralized warehouse configuration having various numbers of warehouse nodes.

The process 300 may be more thoroughly understood with reference to the following mathematical description of the warehouse and location optimization process. The process will be described first with respect to a distributed warehouse configuration and then with respect to a centralized warehouse configuration. For the distributed warehouse configuration, the inventory in the network may be represented as: ${x = {\begin{matrix} \left\lbrack x_{1} \right. & \cdots & x_{i} & \cdots & {\left. x_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} x_{11} & \cdots & x_{1k} & \cdots & x_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ x_{i1} & \cdots & x_{ik} & \cdots & x_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ x_{N1} & \cdots & x_{Nk} & \cdots & x_{NM} \end{bmatrix}}},$ where i represents the ith node in the network, k is the kth type of in-service network component (“inventory item”), x_(ik) is the quantity of the kth in-service network element at the ith node that requires spare components, N is the total number of potential warehouse nodes, and M is the total number of inventory items. The inventory failure rates may be represented as: λ=[λ₁ . . . λ_(k) . . . λ_(M)], where λ_(k) is the failure rate for the kth inventory item and is expressed in units of failures in time (FIT) (e.g., equal to 10⁻⁹ failures/hour). The expected failures for the network is then given by: ${f = {\begin{matrix} \left\lbrack f_{1} \right. & \cdots & f_{i} & \cdots & {\left. f_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} f_{11} & \cdots & f_{1k} & \cdots & f_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ f_{i1} & \cdots & f_{ik} & \cdots & f_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ f_{N1} & \cdots & f_{Nk} & \cdots & f_{NM} \end{bmatrix}}},$ where f_(ik)=x_(ik)·λ_(k) is the total number of failures per hour for the kth inventory item at the ith node of the network. The minimum repair times may be represented as follows: ${t = {\begin{matrix} \left\lbrack t_{1} \right. & \cdots & t_{i} & \cdots & {\left. t_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} t_{11} & \cdots & t_{1k} & \cdots & t_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{i1} & \cdots & t_{ik} & \cdots & t_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{N1} & \cdots & t_{Nk} & \cdots & t_{NM} \end{bmatrix}}},$ where t_(ik) is the minimum repair time for the kth inventory item at the ith node of the network.

The quantity of spare components and the stockout probabilities for the network may be represented as follows: $\begin{matrix} {s = {{g\left( {a_{i} \cdot P_{t}} \right)}{\begin{matrix} \left\lbrack s_{1} \right. & \cdots & s_{i} & \cdots & {\left. s_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} s_{11} & \cdots & s_{1k} & \cdots & s_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ s_{i1} & \cdots & s_{ik} & \cdots & s_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ s_{N1} & \cdots & s_{Nk} & \cdots & s_{NM} \end{bmatrix}}}} \\ {p = {{h\left( {a_{i} \cdot P_{t}} \right)}{\begin{matrix} \left\lbrack p_{1} \right. & \cdots & p_{i} & \cdots & {\left. p_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} s_{11} & \cdots & s_{1k} & \cdots & s_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ s_{i1} & \cdots & s_{ik} & \cdots & s_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ s_{N1} & \cdots & s_{Nk} & \cdots & s_{NM} \end{bmatrix}}}} \end{matrix},$ where a_(i)=N_(i)ρ_(i)τ, P_(t) is the target stockout probability, s_(ik) is the quantity of spare components for the kth inventory item at the ith node of the network, and p_(ik) is the stockout probability for the kth inventory item at the ith node of the network. The variable a_(i) is the quantity of spare components to be replenished for the ith node of the network, N_(i) is the in-service population of the spare components served by the sparing pool for the ith node of the network, ρ_(i) is the spare component removal rate (e.g., per 10⁹ hours) for the ith node of the network, and τ is the mean time to restock a spare component.

Operators g and h are the Erlang-C spare and stockout probability functions defined below. The g function returns the quantity of spare components, s_(ik), for each inventory item, k, for each node, i. The h function returns the stockout probabilities, p_(so), of each inventory item, k, at each node, i. The following Erlang-C equation is used to determine the quantity of spare components and stockout probabilities for the inventory: $p_{so} = {\frac{\frac{a_{i}^{s_{i}}}{{s_{i}!}\left( {1 - {a_{i}/s_{i}}} \right)}}{\frac{a_{i}^{s_{i}}}{{s_{i}!}\left( {1 - {a_{i}/s_{i}}} \right)} + {\sum\limits_{k = 0}^{s_{i} - 1}\quad\frac{a_{i}^{k}}{k!}}}.}$ The quantity of spares is increased until the stockout probability, p_(so), is equal to or less than the target stockout probability, P_(t). The total number of spares required for the network is given by: $\sum\limits_{k = 1}^{M}\quad{\sum\limits_{i = 1}^{N}{s_{ik}.}}$

The inventory downtime for available spare components is given by: $r^{s} = {{\begin{matrix} \left\lbrack r_{1}^{s} \right. & \cdots & r_{i}^{s} & \cdots & {\left. r_{N}^{s} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} {t_{11}f_{11}} & \cdots & {t_{1k}f_{1k}} & \cdots & {t_{1M}f_{1M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {t_{i1}f_{il}} & \cdots & {t_{ik}f_{ik}} & \cdots & {t_{iM}f_{i\quad M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {t_{N1}f_{N1}} & \cdots & {t_{Nk}f_{Nk}} & \cdots & {t_{NM}f_{NM}} \end{bmatrix}}.}$ The inventory downtime for unavailable or out-of-stock spare components is given by: ${r^{\overset{\_}{s}} = {\begin{matrix} \left\lbrack r_{1}^{\overset{\_}{s}} \right. & \cdots & r_{i}^{\overset{\_}{s}} & \cdots & {\left. r_{N}^{\overset{\_}{s}} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} {\tau_{1}f_{11}} & \cdots & {\tau_{k}f_{1k}} & \cdots & {\tau_{M}f_{1M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {\tau_{1}f_{il}} & \cdots & {\tau_{k}f_{ik}} & \cdots & {\tau_{M}f_{i\quad M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {\tau_{1}f_{N1}} & \cdots & {\tau_{k}f_{Nk}} & \cdots & {\tau_{M}f_{NM}} \end{bmatrix}}},$ where τ_(k) is the restocking time for the kth inventory item. The total inventory downtime may then be expressed as: ${r = {\begin{matrix} \left\lbrack r_{1} \right. & \cdots & r_{i} & \cdots & {\left. r_{N} \right\rbrack^{T} =} \end{matrix}\begin{bmatrix} r_{11} & \cdots & r_{1k} & \cdots & r_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{i1} & \cdots & r_{ik} & \cdots & r_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{N1} & \cdots & r_{Nk} & \cdots & r_{NM} \end{bmatrix}}},$ where r_(ik)=t_(ik)f_(ik)(1−p_(ik))+τ_(ik)f_(ik)p_(ik) is the total inventory downtime for the kth inventory item at the ith node of the network. The total downtime for the network under the distributed warehousing configuration is then given by: ${DT}^{D} = {\sum\limits_{k = 1}^{M}\quad{\sum\limits_{i = 1}^{N}{r_{ik}.}}}$

For a centralized warehouse configuration having a single warehouse node, the inventory, failure rates, and expected failures may be represented as described above (i.e., the x-matrix, the λ-vector, and the f-matrix, respectively). In addition, the quantity of spare components (s-matrix) and the stockout probabilities (p-matrix) for the network may be represented substantially as described above. However, unlike the distributed warehouse configuration, the elements in each row of the s-matrix provide the total quantity of spare components for each inventory item for each of the possible warehouse nodes, rather than the quantity of spare components stored at each node of the network.

The inventory repair times are the same as those of the distributed warehouse configuration, since the repair times are not dependent on the type of warehouse configuration. The minimum repair times may be represented as: ${t^{r} = {\begin{bmatrix} t_{1}^{r} & \cdots & t_{i}^{r} & \cdots & t_{N}^{r} \end{bmatrix}^{T} = \begin{bmatrix} t_{11}^{r} & \cdots & t_{1k}^{r} & \cdots & t_{1M}^{r} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{i1}^{r} & \cdots & t_{ik}^{r} & \cdots & t_{iM}^{r} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{N1}^{r} & \cdots & t_{Nk}^{r} & \cdots & t_{NM}^{r} \end{bmatrix}}},$ where t_(ik) ^(r) is the repair time for the kth inventory item at the ith potential warehouse node. The algorithm for the centralized warehouse configuration may also take into account the delivery times. The inventory delivery times from the mth (m ranges from 1 to N, to total number of nodes in the network) potential warehouse node to each faulted location may be represented as follows: ${d = {\begin{bmatrix} d_{1} & \cdots & d_{i} & \cdots & d_{N} \end{bmatrix}^{T} = \begin{bmatrix} d_{11} & \cdots & d_{1j} & \cdots & d_{1N} \\ \vdots & \quad & \vdots & \quad & \vdots \\ d_{i1} & \cdots & d_{ij} & \cdots & d_{i\quad N} \\ \vdots & \quad & \vdots & \quad & \vdots \\ d_{N1} & \cdots & d_{Nj} & \cdots & d_{NN} \end{bmatrix}}},$ where i is the warehouse node and j is the location where the spare is needed. The total repair time may then be computed for each potential warehouse node in the network. Thus, the total repair time associated with the mth potential warehouse node is given by: $\begin{matrix} {t^{m} = \begin{bmatrix} t_{1}^{m} & \cdots & t_{i}^{m} & \cdots & t_{N}^{m} \end{bmatrix}^{T}} \\ {= {\begin{bmatrix} t_{11}^{r} & \cdots & t_{1k}^{r} & \cdots & t_{1M}^{r} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{i1}^{r} & \cdots & t_{ik}^{r} & \cdots & t_{iM}^{r} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{N1}^{r} & \cdots & t_{Nk}^{r} & \cdots & t_{NM}^{r} \end{bmatrix} + \begin{bmatrix} d_{m1} & \cdots & d_{m1} & \cdots & d_{m1} \\ \vdots & \quad & \vdots & \quad & \vdots \\ d_{m\quad i} & \cdots & d_{m\quad i} & \cdots & d_{m\quad i} \\ \vdots & \quad & \vdots & \quad & \vdots \\ d_{m\quad N} & \cdots & d_{m\quad N} & \cdots & d_{m\quad N} \end{bmatrix}}} \\ {= \begin{bmatrix} t_{11} & \cdots & t_{1k} & \cdots & t_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{i1} & \cdots & t_{ik} & \cdots & t_{iM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{N1} & \cdots & t_{Nk} & \cdots & t_{NM} \end{bmatrix}} \end{matrix}$ where t_(ik)=t_(ik) ^(r)+d_(mi).

As described above, the network operator may provide critical repair times for each inventory item. A critical repair time (CRT) is the minimum time in which a particular inventory item must be replaced. Each t_(ik) must therefore satisfy the CRT for the kth inventory item (i.e., t_(ik)≦CRT_(k)). Violation of CRT occurs whenever t_(ik)>CRT_(k). The number of violations for the mth potential warehouse node is therefore given by: $\begin{matrix} {v^{m} = \begin{bmatrix} v_{i}^{m} & \cdots & v_{k}^{m} & \cdots & v_{M}^{m} \end{bmatrix}^{T}} \\ {\quad{{= \begin{bmatrix} {\sum\limits_{i = 1}^{N}\quad{u\left( t_{i1} \right)}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{u\left( t_{ik} \right)}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{u\left( t_{iM} \right)}} \end{bmatrix}^{T}},}} \end{matrix}$ where $\begin{matrix} {{u\left( t_{ik} \right)} = {{1\quad{if}\quad t_{ik}} > {CRT}_{k}}} \\ {= {{0\quad{if}\quad t_{ik}} \leq {CRT}_{k}}} \end{matrix}\quad.$

If spares are available, the downtime for the kth inventory item at the ith node is: $\quad\begin{bmatrix} {t_{11}f_{11}} & \cdots & {t_{lk}f_{lk}} & \cdots & {t_{lM}f_{lm}} \\ {\vdots\quad} & \quad & \vdots & \quad & \vdots \\ {t_{il}f_{il}} & \cdots & {t_{ik}f_{ik}} & \cdots & {t_{iM}f_{iM}} \\ \vdots & \quad & {\vdots\quad} & \quad & \vdots \\ {t_{Nl}f_{Nl}} & {\cdots\quad} & {t_{Nk}f_{Nk}} & \cdots & {t_{NM}f_{NM}} \end{bmatrix}$ The inventory downtime for each inventory item for the mth potential warehouse node may be represented as follows: $\begin{matrix} {r^{mS} = \begin{bmatrix} {\sum\limits_{i = 1}^{N}\quad{t_{i1}f_{i1}}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{t_{ik}f_{ik}}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{t_{iM}f_{iM}}} \end{bmatrix}} \\ {\quad{= \begin{bmatrix} r_{1}^{mS} & \cdots & r_{k}^{mS} & \cdots & r_{M}^{mS} \end{bmatrix}}} \end{matrix}$ If spares are unavailable, the downtime for the kth inventory item at the ith node is: $\begin{bmatrix} {\tau_{1}f_{11}} & \cdots & {\tau_{k}f_{1k}} & \cdots & {\tau_{M}f_{1M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {\tau_{1}f_{i1}} & \cdots & {\tau_{k}f_{ik}} & \cdots & {\tau_{M}f_{iM}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {\tau_{1}f_{N1}} & \cdots & {\tau_{k}f_{Nk}} & \cdots & {\tau_{M}f_{NM}} \end{bmatrix},$ where τ_(k) is the restocking time for the kth inventory item. The inventory downtime for each inventory item for the mth potential warehouse node may be represented by: $\begin{matrix} {r^{m\quad\overset{\_}{S}} = \begin{bmatrix} {\sum\limits_{i = 1}^{N}\quad{\tau_{1}f_{i1}}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{\tau_{k}f_{ik}}} & \cdots & {\sum\limits_{i = 1}^{N}\quad{\tau_{M}f_{iM}}} \end{bmatrix}} \\ {\quad{= \begin{bmatrix} r_{1}^{m\quad\overset{\_}{S}} & \cdots & r_{k}^{m\quad\overset{\_}{S}} & \cdots & r_{M}^{m\quad\overset{\_}{S}} \end{bmatrix}}} \end{matrix}$ The total inventory downtime for the mth potential warehouse is given by: r^(m)=[r_(l) ^(m) . . . r_(k) ^(m) . . . r_(M) ^(m)] r _(k) ^(m) =r _(k) ^(mS)(1−p _(mk))+r _(k) ^(m{overscore (S)}) p _(mk) The total inventory downtime for all potential warehouse nodes may then be expressed as: ${r = {\begin{bmatrix} r_{1} & \cdots & r_{m} & \cdots & r_{N} \end{bmatrix}^{T} = \begin{bmatrix} r_{11} & \cdots & r_{1k} & \cdots & r_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{m1} & \cdots & r_{mk} & \cdots & r_{m\quad M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{N1} & \cdots & r_{Nk} & \cdots & r_{NM} \end{bmatrix}}},$ such that the total downtime for the mth potential warehouse node is: $\sum\limits_{k = 1}^{M}\quad{r_{m\quad k}.}$

The total downtime for the network using the centralized warehouse configuration is given by: ${DT}^{c} = \begin{bmatrix} {\sum\limits_{k = 1}^{M}\quad r_{1k}} & \cdots & {\sum\limits_{k = 1}^{M}\quad r_{m\quad k}} & \cdots & {\sum\limits_{k = 1}^{M}\quad r_{Nk}} \end{bmatrix}^{T}$ The ranking of total downtimes for the potential warehouse nodes is given by: $R^{C} = {{{Rank}\left\lbrack {\sum\limits_{k = 1}^{M}{r_{1k}\quad\cdots\quad{\sum\limits_{k = 1}^{M}{r_{mk}\quad\cdots\quad{\sum\limits_{k = 1}^{M}r_{Nk}}}}}}\quad \right\rbrack}^{T}.}$

The computation for a centralized warehouse configuration having two warehouse nodes, m and n, is similar to that of a single warehouse node centralized warehouse configuration. For a single warehouse node system, the total number of potential warehouse nodes is equal to N, assuming that all nodes in the network can be considered as warehouse nodes. For a two-warehouse node system, however, the maximum number of potential warehouse node combinations is given by: ${C = \frac{N!}{{\left( {N - r} \right)!}{r!}}},$ where r is the number of nodes considered at a time (e.g., 2). If the total number of potential warehouse nodes is six (i.e., N=6), the total number of potential warehouse node combinations is 15 for a two-warehouse node system.

The inventory repair times and delivery times may be represented as shown above for the centralized warehouse configuration having a single warehouse node. Assume that there are q scenarios ranging from 1 to C. The shortest delivery times from potential warehouse nodes m or n to the faulted location for the qth scenario is given by: d ^(q) =[d ₁ ^(q) . . . d _(i) ^(q) . . . d _(N) ^(q)]^(T)=[min(d _(m1) ,d _(n1)) . . . mind _(mi) ,d _(ni)) . . . min(d _(mN) ,d _(nN))]^(T) The spare components for each inventory item, k, must now be stored in either the mth or nth potential warehouse nodes. The following matrix keeps tracking of where the spare components should be stored: I^(q)=[I₁ ^(q) . . . I_(i) ^(q) . . . I_(N) ^(q)]^(T), where $\begin{matrix} {{I_{i}^{q} = {{1\quad{if}\quad d_{ni}} \geq d_{mi}}};{{warehouse}\quad{node}\quad 1}} \\ {{= {{2\quad{if}\quad d_{mi}} > d_{ni}}};{{warehouse}\quad{node}\quad 2}} \end{matrix}.$

The spare components and the stockout probabilities for the two warehouse node centralized warehouse configuration may be determined as follows: $\quad{{{N_{1k}^{q} = {\sum\limits_{i = 1}^{N}{x_{ik}u_{1i}}}};{N_{2k}^{q} = {\sum\limits_{i = 1}^{N}{x_{ik}u_{2i}}}}},{where}}\quad$ $\begin{matrix} {{I_{i}^{q} = {{1\quad{if}\quad u_{1i}} = 1}};{u_{2i} = 0}} \\ {{= {{2\quad{if}\quad u_{1i}} = 0}};{u_{2i} = 1}} \end{matrix}.$ In addition, a _(ik) ^(q)=ρ_(k)τ_(k)(N _(1k) ^(q)); a _(2k) ^(q)=ρ_(k)τ_(k)(N _(2k) ^(q)), where a_(1k) ^(q),a_(2k) ^(q) is the total number of inventory items to be replenished at nodes m and n; N_(1k) ^(q),N_(2k) ^(q) is the in-service population of the kth inventory item served by the sparing pool at nodes m and n; ρ_(k) is the removal rate of the kth inventory item (e.g., per 10⁹ hours); and τ_(k) is the time to restock the kth inventory item. The quantity of spare components is then given by: s₁ ^(q)=[s₁₁ ^(q) . . . s_(1k) ^(q) . . . s_(1M) ^(q)] s₂ ^(q)=[s₂₁ ^(q) . . . s_(2k) ^(q) . . . s_(2M) ^(q)]; s _(1k) ^(q) =g(a _(1k) ^(q) ,P _(tk)) s _(2k) ^(q) =g(a _(2k) ^(q) ,P _(tk)) and the stockout probabilities are given by: p₁ ^(q)=[p₁₁ ^(q) . . . p_(1k) ^(q) . . . p_(1M) ^(q)] p₂ ^(q)=[p₂₁ ^(q) . . . p_(2k) ^(q) . . . p_(2M) ^(q)], p _(1k) ^(q) =h(a _(1k) ^(q) ,P _(tk)) p _(2k) ^(q) =h(a _(2k) ^(q) ,P _(tk)) where P_(tk) is the target stockout probability for the kth inventory item, and where g and h are the Erlang-C spare and stockout probability functions, as described above. Unlike the single node centralized warehouse configuration, two spare pools are kept for the inventory items to replenish failed items at different nodes. Since the total number of in-service inventory items each node has to protect is dependent on the shortest delivery time from the spare pool to the faulted location, it therefore changes for each scenario, q. Spare and stockout probability matrices, s and p, must therefore by computed for each scenario, q, and cannot be computed ahead of time.

The total repair times from warehouse nodes m or n may be represented as: ${t^{q} = {\begin{bmatrix} t_{1} & \cdots & t_{i} & \cdots & t_{N} \end{bmatrix}^{T} = \begin{bmatrix} t_{11}^{q} & \cdots & t_{1k}^{q} & \cdots & t_{1M}^{q} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{i1}^{q} & \cdots & t_{ik}^{q} & \cdots & t_{iM}^{q} \\ \vdots & \quad & \vdots & \quad & \vdots \\ t_{N1}^{q} & \cdots & t_{Nk}^{q} & \cdots & t_{NM}^{q} \end{bmatrix}}},$ where t_(ik) ^(q)=t_(ik) ^(q)+d_(i) ^(q), where d is the delivery time. Each t_(ik) ^(q) must satisfy the CRT for the inventory item, k. The number of violations for each warehouse node located at node i is therefore: ${v^{q} = \left\lbrack \quad{\sum\limits_{k = 1}^{M}{v_{1k}\quad\cdots\quad{\sum\limits_{k = 1}^{M}{v_{ik}\quad\cdots\quad{\sum\limits_{k = 1}^{M}v_{Nk}}}}}}\quad \right\rbrack^{T}},$ where $\begin{matrix} {v_{ik} = \begin{matrix} 1 & {if} & {t_{ik}^{q} > {CRT}_{k}} \end{matrix}} \\ {= \begin{matrix} 0 & {if} & {t_{ik}^{q} \leq {CRT}_{k}} \end{matrix}} \end{matrix}.$

The inventory downtime for a 2-warehouse node centralized warehouse configuration may be represented as shown below. If spares are available, the downtime for the kth inventory item at the ith location is: $\begin{bmatrix} {t_{ll}^{q}f_{ll}} & \cdots & {t_{lk}^{q}f_{lk}} & \cdots & {t_{lM}^{q}f_{lM}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {t_{il}^{q}f_{i1}} & \cdots & {t_{ik}^{q}f_{ik}} & \cdots & {t_{iM}^{q}f_{iM}} \\ \vdots & \quad & {\vdots\quad} & \quad & \vdots \\ {t_{Nl}^{q}f_{Nl}} & \cdots & {t_{Nk}^{q}f_{Nk}} & \cdots & {t_{NM}^{q}f_{NM}} \end{bmatrix}.$ If spares are available, the downtime for a given scenario, q, is thus: $r_{q}^{s} = {\left\lbrack \quad{\sum\limits_{i = 1}^{N}{t_{i1}^{q}f_{i1}\quad\cdots\quad{\sum\limits_{i = 1}^{N}{t_{ik}^{q}f_{ik}\quad\cdots\quad{\sum\limits_{i = 1}^{N}{t_{iM}^{q}f_{iM}}}}}}}\quad \right\rbrack.}$ Likewise, if spare components are unavailable, the downtime for the kth inventory item at the ith location is: $\begin{bmatrix} {\tau_{1}f_{11}} & \cdots & {\tau_{k}f_{1k}} & \cdots & {\tau_{M}f_{1M}} \\ \vdots & \quad & \vdots & \quad & \vdots \\ {\tau_{1}f_{i1}} & \cdots & {\tau_{k}f_{ik}} & \cdots & {\tau_{M}f_{iM}} \\ \vdots & \quad & \vdots & \quad & \cdots \\ {\tau_{1}f_{N1}} & \cdots & {\tau_{k}f_{Nk}} & \cdots & {\tau_{M}f_{NM}} \end{bmatrix}.$ If spares are unavailable, the downtime for a given scenario, q, is thus: $r_{q}^{\overset{\_}{S}} = {\left\lbrack \quad{\sum\limits_{i = 1}^{N}{\tau_{1}f_{i1}\quad\cdots\quad{\sum\limits_{i = 1}^{N}{\tau_{k}f_{ik}\quad\cdots\quad{\sum\limits_{i = 1}^{N}{\tau_{M}f_{iM}}}}}}}\quad \right\rbrack.}$ Accounting for the stockout probability, $\begin{matrix} {r_{q}^{S} = \begin{bmatrix} r_{q1}^{S} & \cdots & r_{qk}^{S} & \cdots & r_{qM}^{S} \end{bmatrix}} \\ {{= \begin{bmatrix} {\sum\limits_{i = 1}^{N}{t_{i1}^{q}f_{i1}u_{i}}} & \cdots & {\sum\limits_{i = 1}^{N}{t_{ik}^{q}f_{ik}u_{i}}} & \cdots & {\sum\limits_{i = 1}^{N}{t_{iM}^{q}f_{iM}u_{i}}} \end{bmatrix}},} \end{matrix}$ where $\begin{matrix} {u_{i} = \left( {1 - p_{1k}^{q}} \right)} & {{{if}\quad I_{i}^{q}} = 1} \\ {\quad{= \left( {1 - p_{2k}^{q}} \right)}} & {{{if}\quad I_{i}^{q}} = 2} \end{matrix}.$ In addition, $\begin{matrix} {r_{q}^{\overset{\_}{S}} = \begin{bmatrix} r_{q1}^{\overset{\_}{S}} & \cdots & r_{qk}^{\overset{\_}{S}} & \cdots & r_{qM}^{\overset{\_}{S}} \end{bmatrix}} \\ {{= \begin{bmatrix} {\sum\limits_{i = 1}^{N}{\tau_{1}f_{i1}u_{i}}} & \cdots & {\sum\limits_{i = 1}^{N}{\tau_{k}f_{ik}u_{i}}} & \cdots & {\sum\limits_{i = 1}^{N}{\tau_{M}f_{iM}u_{i}}} \end{bmatrix}},} \end{matrix}$ where $\begin{matrix} {u_{i} = p_{1k}^{q}} & {{{if}\quad I_{i}^{q}} = 1} \\ {\quad{= p_{2k}^{q}}} & {{{if}\quad I_{i}^{q}} = 2} \end{matrix}.$

Then, r_(q)=[r_(q1) . . . r_(qk) . . . r_(qM)], where r_(qk)=r_(qk) ^(S)+r_(qk) ^({overscore (S)}).

The total downtime for a 2-warehouse node centralized warehouse configuration may be computed as follows: $r = {\begin{bmatrix} r_{11} & \cdots & r_{1k} & \cdots & r_{1M} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{q1} & \cdots & r_{qk} & \cdots & r_{qM} \\ \vdots & \quad & \vdots & \quad & \vdots \\ r_{C1} & \cdots & r_{Ck} & \cdots & r_{CM} \end{bmatrix}.}$

The total downtime for each scenario, q is thus: $\sum\limits_{k = 1}^{M}{r_{qk}.}$ The total downtime for the 2-warehouse node centralized warehouse configuration is: ${DT}^{C2} = {\begin{bmatrix} {\sum\limits_{k = 1}^{M}r_{1k}} & \cdots & {\sum\limits_{k = 1}^{M}r_{qk}} & \cdots & {\sum\limits_{k = 1}^{M}r_{Ck}} \end{bmatrix}^{T}.}$ The ranking of total downtime is given by: $R^{C} = {{{Rank}\begin{bmatrix} {\sum\limits_{k = 1}^{M}r_{1k}} & \cdots & {\sum\limits_{k = 1}^{M}r_{qk}} & \cdots & {\sum\limits_{k = 1}^{M}r_{Ck}} \end{bmatrix}}^{T}.}$

In reality, the real or actual value of the parameters used above (e.g., availability parameters) at any one time is uncertain. As such, in another embodiment, the uncertainty of such parameters may be modeled by their respective probability distributions. Notably, the value of each variable is sampled using the associated probability distribution using, for example, a Latin Hypercube sampling technique. The Latin Hypercube sampling technique is a stratified sampling technique that will accurately recreate the probability distributions specified by the distribution functions in fewer iterations than traditional sampling techniques, such as Monte Carlo sampling.

FIG. 4 is a block diagram depicting an exemplary embodiment of a computer 400 suitable for implementing processes and methods described above. The computer 400 includes a central processing unit (CPU) 401, a memory 403, various support circuits 404, and an I/O interface 402. The CPU 401 may be any type of microprocessor known in the art. The support circuits 404 for the CPU 402 include conventional cache, power supplies, clock circuits, data registers, I/O interfaces, and the like. The I/O interface 402 may be directly coupled to the memory 403 or coupled through the CPU 401. The I/O interface 402 may be coupled to various input devices 412 and output devices 411, such as a conventional keyboard, mouse, printer, display, and the like. In addition, the I/O interface 402 may be coupled to a network 413 and may be adapted for communication with the database 202 to receive and transmit data, such as data files and the like.

The memory 403 may store all or portions of one or more programs and/or data to implement the processes and methods described above. Although the invention is disclosed as being implemented as a computer executing a software program, those skilled in the art will appreciate that the invention may be implemented in hardware, software, or a combination of hardware and software. Such implementations may include a number of processors independently executing various programs and dedicated hardware, such as application specific integrated circuits (ASICs).

The computer 400 may be programmed with an operating system, which may be OS/2, Java Virtual Machine, Linux, Solaris, Unix, Windows, Windows95, Windows98, Windows NT, and Windows2000, WindowsME, and WindowsXP, among other known platforms. At least a portion of an operating system may be disposed in the memory 403. The memory 403 may include one or more of the following random access memory, read only memory, magneto-resistive read/write memory, optical read/write memory, cache memory, magnetic read/write memory, and the like, as well as signal-bearing media as described below. The memory 403 may store all or a portion of the warehouse and location optimization process 300 of FIG. 3.

An aspect of the invention is implemented as a program product for use with a computer system. Program(s) of the program product defines functions of embodiments and can be contained on a variety of signal-bearing media, which include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM or DVD-ROM disks readable by a CD-ROM drive or a DVD drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or read/writable CD or read/writable DVD); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks. Such signal-bearing media, when carrying computer-readable instructions that direct functions of the invention, represent embodiments of the invention.

While the foregoing is directed to the illustrative embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. 

1. A method of optimizing spare component management for a network having a plurality of nodes, comprising: obtaining availability parameters associated with an inventory of spare components; and determining a plurality of management configurations in response to said availability parameters, each of said plurality of management configurations comprising at least one warehouse node selected from said plurality of nodes and a quantity of spare components in said inventory to be stored at said at least one warehouse node.
 2. The method of claim 1, further comprising: selecting at least one warehouse configuration for said plurality of nodes; and repeating said determining step for each said warehouse configuration.
 3. The method of claim 2, wherein said at least one warehouse configuration comprises a distributed warehouse configuration and a centralized warehouse configuration.
 4. The method of claim 1, wherein said inventory of spare components is defined by a plurality of component types, and said availability parameters comprise at least one of a failure rate, a minimum repair time, a restocking time, and a stockout probability associated with each of said plurality of component types.
 5. The method of claim 4, further comprising: for each of said plurality of management configurations, computing an expected downtime of said network using said minimum repair time associated with at least one of said plurality of component types.
 6. The method of claim 5, wherein, for each of said plurality of management configurations, said expected downtime of said network is further computed using delivery times from said at least one warehouse node to remaining ones of said plurality of nodes.
 7. The method of claim 4, further comprising: obtaining a critical repair time associated with each of said plurality of component types; and for each of said plurality of management configurations, computing a number of expected critical repair time violations.
 8. The method of claim 4, wherein said determining comprises: obtaining a target stockout probability for each of said plurality of component types; for each of said plurality of management configurations, computing said quantity of spare components to be stored at said at least one warehouse node by adjusting a quantity of each of said plurality of component types until said respective stockout probability is less than or equal to said respective target stockout probability.
 9. The method of claim 1, wherein said inventory of spare components is obtained dynamically from said network.
 10. The method of claim 1, wherein said availability parameters are obtained dynamically from said network.
 11. A computer readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform a method of optimizing spare component management for a network having a plurality of nodes, comprising: obtaining availability parameters associated with an inventory of spare components; and determining a plurality of management configurations in response to said availability parameters, each of said plurality of management configurations comprising at least one warehouse node selected from said plurality of nodes and a quantity of spare components in said inventory to be stored at said at least one warehouse node.
 12. The computer readable medium of claim 11, further comprising: selecting at least one warehouse configuration for said plurality of nodes; and repeating said determining step for each said warehouse configuration.
 13. The computer readable medium of claim 12, wherein said at least one warehouse configuration comprises a distributed warehouse configuration and a centralized warehouse configuration.
 14. The computer readable medium of claim 11, wherein said inventory of spare components is defined by a plurality of component types, and said availability parameters comprise at least one of a failure rate, a minimum repair time, a restocking time, and a stockout probability associated with each of said plurality of component types.
 15. The method of claim 4, further comprising: for each of said plurality of management configurations, computing an expected downtime of said network using said minimum repair time associated with at least one of said plurality of component types.
 16. The computer readable of claim 15, wherein, for each of said plurality of management configurations, said expected downtime of said network is further computed using delivery times from said at least one warehouse node to remaining ones of said plurality of nodes.
 17. The computer readable medium of claim 14, further comprising: obtaining a critical repair time associated with each of said plurality of component types; and for each of said plurality of management configurations, computing a number of expected critical repair time violations.
 18. The computer readable medium of claim 14, wherein said determining comprises: obtaining a target stockout probability for each of said plurality of component types; for each of said plurality of management configurations, computing said quantity of spare components to be stored at said at least one warehouse node by adjusting a quantity of each of said plurality of component types until said respective stockout probability is less than or equal to said respective target stockout probability.
 19. An apparatus for optimizing spare component management for a network having a plurality of nodes, comprising: means for obtaining availability parameters associated with an inventory of spare components; and means for determining a plurality of management configurations in response to said availability parameters, each of said plurality of management configurations comprising at least one warehouse node selected from said plurality of nodes and a quantity of spare components in said inventory to be stored at said at least one warehouse node.
 20. A system optimizing spare component management for a network having a plurality of nodes, comprising: a processing unit having access to one or more storage devices; at least a portion of the one or more storage devices storing an inventory of spare components and availability parameters associated with said inventory; at least another portion of said one or more storage devices having a program product configured to determine a plurality of management configurations in response to said availability parameters, each of said plurality of management configurations comprising at least one warehouse node selected from said plurality of nodes and a quantity of spare components in said inventory to be stored at said at least one warehouse node. 